/**
 * PanelPersonalAdministrativo.java
 */

 /**
 *  AdSec: Administrador de Secundarias
 *  Copyright (C) 2009 Daniela Ramírez Chaves (dannyrch@gmail.com)
 *  Copyright (C) 2009 Leonel Salazar Valverde (leo87sv@gmail.com)
 *
 *  This file is part of AdSec.
 *  AdSec is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  AdSec is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with AdSec.  If not, see <http://www.gnu.org/licenses/>.
 */

package adsec.presentacion;

import java.sql.Date;
import java.util.Calendar;
import java.util.Iterator;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.text.MaskFormatter;
import adsec.entidades.PersonalAdm;
import adsec.negocios.AdministradorSeguridad;
import adsec.negocios.ControladoraPersonalAdm;
import adsec.entidades.Permiso;
import adsec.entidades.Estado;
import adsec.negocios.UtilidadesCapaNegocios;
import org.jdesktop.application.Action;


public class PanelPersonalAdministrativo extends javax.swing.JPanel implements ListSelectionListener {

    private AdministradorSeguridad adminSeguridad;
    private ControladoraPersonalAdm controladoraPersonalAdm;
    private Permiso permisoPersonalAdm;
    private Estado estado;

    /** Creates new form PanelEstudiantes */
    public PanelPersonalAdministrativo() {
        initComponents();
        this.iniciarPanelPersonalAdm();
    }

    private void iniciarPanelPersonalAdm(){
        this.adminSeguridad = AdministradorSeguridad.getInstancia();
        this.controladoraPersonalAdm = new ControladoraPersonalAdm();
        this.permisoPersonalAdm = this.adminSeguridad.getPermiso(UtilidadesCapaNegocios.moduloPersonalAdm);
        this.estado = new Estado();
        this.setHabilitarCampos(false);
        this.habilitarBotonesIME(this.permisoPersonalAdm.isInsertar(), false, false);
        this.cargarGridPersonalAdms();
        this.habilitarAceptarCancelar(false);
    }//fin de iniciarPanelPersonalAdms

    protected MaskFormatter createFormatter(String s) {
        MaskFormatter formatter = null;
        try {
            formatter = new MaskFormatter(s);
        } catch (java.text.ParseException exc) {
            System.err.println("formatter is bad: " + exc.getMessage());
            System.exit(-1);
        }
        return formatter;
    }

    /**
     ** Recibe un boolean para habilitar todos los campos de la pantalla
     ** o ya sea deshabilitarlos
     **/
    private void setHabilitarCampos(boolean habilitar){
        this.txtNombre.setEnabled(habilitar);
        this.txtApellidos.setEnabled(habilitar);
        this.txtCedula.setEditable(habilitar);
        this.spinDia.setEnabled(habilitar);
        this.spinMes.setEnabled(habilitar);
        this.spinAño.setEnabled(habilitar);
        this.cbSexo.setEnabled(habilitar);
        this.txtNacionalidad.setEditable(habilitar);
        this.txtTelefono1.setEditable(habilitar);
        this.txtTelefono2.setEditable(habilitar);
        this.txtProvincia.setEditable(habilitar);
        this.txtCanton.setEditable(habilitar);
        this.txtDistrito.setEditable(habilitar);
        this.txtOtrasSeñas.setEditable(habilitar);
        this.txtPuesto.setEnabled(habilitar);
        this.spinHoras.setEnabled(habilitar);
        this.chbxPropiedad.setEnabled(habilitar);
    }//fin de setHabilitarCampos

    /**
     ** Habilita o deshabilita los botones insertar, modificar y eliminar
     **/
    private void habilitarBotonesIME(boolean insertar, boolean modificar, boolean eliminar){
        this.btnInsertar.setEnabled(insertar);
        this.btnModificar.setEnabled(modificar);
        this.btnEliminar.setEnabled(eliminar);
    }

    /**
     ** Habilita o deshabilita los botones aceptar y cancelar
     **/
    private void habilitarAceptarCancelar(boolean habilitar){
        this.btnAceptar.setEnabled(habilitar);
        this.btnCancelar.setEnabled(habilitar);
    }

    /**
     ** Limpia todos los campos de la pantalla
     **/
    private void limpiarCampos(){
        this.txtNombre.setText("");
        this.txtApellidos.setText("");
        this.txtCedula.setText("0-0000-0000");
        this.spinDia.getModel().setValue(1);
        this.spinMes.getModel().setValue(1);
        this.spinAño.getModel().setValue(1950);
        this.cbSexo.setSelectedIndex(0);
        this.txtNacionalidad.setText("");
        this.txtTelefono1.setText("00-00-00-00");
        this.txtTelefono2.setText("00-00-00-00");
        this.txtProvincia.setText("");
        this.txtCanton.setText("");
        this.txtDistrito.setText("");
        this.txtOtrasSeñas.setText("");
        this.txtPuesto.setText("");
        this.chbxPropiedad.setSelected(false);
        this.spinHoras.getModel().setValue(0);
    }//fin de limpiarCampos

    /**
     ** Obtiene todos los datos del personalAdm y crea un objeto de tipo PersonalAdm
     ** el cual es retornado
     ** @return Un PersonalAdm
     */
    public PersonalAdm obtenerDatosPersonalAdm(){
        PersonalAdm personalAdm = new PersonalAdm();
        personalAdm.setCedula(this.txtCedula.getText());
        personalAdm.setNombre(this.txtNombre.getText());
        personalAdm.setApellidos(this.txtApellidos.getText());
        personalAdm.setFechaNac(obtenerFecha());
        personalAdm.setSexo(this.cbSexo.getSelectedItem().toString().substring(0, 1));
        personalAdm.setTelefono1(this.txtTelefono1.getText());
        personalAdm.setTelefono2(this.txtTelefono2.getText());
        personalAdm.setNacionalidad(this.txtNacionalidad.getText());
        personalAdm.setProvincia(this.txtProvincia.getText());
        personalAdm.setCanton(this.txtCanton.getText());
        personalAdm.setDistrito(this.txtDistrito.getText());
        personalAdm.setOtrasSenias(this.txtOtrasSeñas.getText());
        personalAdm.setPuesto(this.txtPuesto.getText());
        personalAdm.setPropiedad(this.chbxPropiedad.isSelected());
        personalAdm.setHorasAsignadas(Integer.parseInt(this.spinHoras.getModel().getValue().toString()));
        return personalAdm;
    }//fin de obtenerDatosPersonalAdm

    private Date obtenerFecha(){
        int dia = Integer.parseInt(this.spinDia.getValue().toString());
        int mes = Integer.parseInt(this.spinMes.getValue().toString())-1;
        int año = Integer.parseInt(this.spinAño.getValue().toString());
        Calendar calendario = Calendar.getInstance();
        calendario.clear();
        calendario.set(año,mes,dia);
        Date fecha = new Date(calendario.getTimeInMillis());
        return fecha;
    }//fin de obtenerFecha

    private void insertarPersonalAdm(){
        PersonalAdm personalAdm = this.obtenerDatosPersonalAdm();
        if(!UtilidadesCapaNegocios.existeLlave(PersonalAdm.nombreTabla, PersonalAdm.cedulaNC, personalAdm.getCedula())){
            int resultado = this.controladoraPersonalAdm.insertarPersonalAdm(personalAdm);
            if(resultado == UtilidadesCapaNegocios.QUERY_OK){
                this.gridPersonalAdm.getSelectionModel().clearSelection();
                JOptionPane.showMessageDialog(null, "El personal administrativo fue insertado con éxito");
                this.volverConsultar();
            }//fin de if
            else{
                JOptionPane.showMessageDialog(null, UtilidadesCapaNegocios.getErrorOperacion(UtilidadesCapaNegocios.moduloPersonalAdm, UtilidadesCapaNegocios.opInsertar), "ERROR", JOptionPane.ERROR_MESSAGE);
            }//fin de else
        }else{
            JOptionPane.showMessageDialog(null, "La persona con cédula " + personalAdm.getCedula() + " ya existe", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
        
    }//fin de insertarPersonalAdm

    private void modificarPersonalAdm(){
        PersonalAdm personalAdm = this.obtenerDatosPersonalAdm();
        int resultado = this.controladoraPersonalAdm.modificarPersonalAdm(personalAdm);
        if(resultado == UtilidadesCapaNegocios.QUERY_OK){
            this.gridPersonalAdm.getSelectionModel().clearSelection();
            JOptionPane.showMessageDialog(null, "El personal administrativo fue modificado con éxito");
            this.volverConsultar();
        }//fin de if
        else{
            JOptionPane.showMessageDialog(null, UtilidadesCapaNegocios.getErrorOperacion(UtilidadesCapaNegocios.moduloPersonalAdm, UtilidadesCapaNegocios.opModificar), "ERROR", JOptionPane.ERROR_MESSAGE);
        }//fin de else

    }//fin de modificarPersonalAdm

    private void eliminarPersonalAdm(){
        String cedula = this.txtCedula.getText();
        int resultado = this.controladoraPersonalAdm.eliminarPersonalAdm(cedula);
        if(resultado == UtilidadesCapaNegocios.QUERY_OK){
            this.gridPersonalAdm.getSelectionModel().clearSelection();
            JOptionPane.showMessageDialog(null, "El personal administrativo fue eliminado con éxito");
            this.volverConsultar();
        }//fin de if
        else{
            JOptionPane.showMessageDialog(null, UtilidadesCapaNegocios.getErrorOperacion(UtilidadesCapaNegocios.moduloPersonalAdm, UtilidadesCapaNegocios.opEliminar), "ERROR", JOptionPane.ERROR_MESSAGE);
        }//fin de else

    }//fin de modificarPersonalAdm

    private void consultarPersonalAdm(String cedula){
        PersonalAdm personalAdm = controladoraPersonalAdm.consultarPersonalAdm(cedula);
        if(personalAdm != null){
            this.llenarCamposPersonalAdm(personalAdm);
        }else{
            String mensaje = UtilidadesCapaNegocios.getErrorOperacion(UtilidadesCapaNegocios.moduloPersonalAdm, UtilidadesCapaNegocios.opConsultar);
            JOptionPane.showMessageDialog(null, mensaje, "ERROR",JOptionPane.ERROR_MESSAGE);
        }       
    }//fin de consultarPersonalAdm

    private void llenarCamposPersonalAdm(PersonalAdm personalAdm){
        this.txtNombre.setText(personalAdm.getNombre());
        this.txtApellidos.setText(personalAdm.getApellidos());
        this.txtCedula.setText(personalAdm.getCedula());
        Date fecha = personalAdm.getFechaNac();
        Calendar calendario = Calendar.getInstance();
        calendario.clear();
        calendario.setTime(fecha);
        this.spinDia.getModel().setValue(calendario.get(Calendar.DAY_OF_MONTH));
        this.spinMes.getModel().setValue(calendario.get(Calendar.MONTH) + 1);
        this.spinAño.getModel().setValue(calendario.get(Calendar.YEAR));
        this.cbSexo.setSelectedItem(UtilidadesCapaNegocios.obtenerSexo(personalAdm.getSexo()));
        this.txtNacionalidad.setText(personalAdm.getNacionalidad());
        this.txtTelefono1.setText(personalAdm.getTelefono1());
        this.txtTelefono2.setText(personalAdm.getTelefono2());
        this.txtProvincia.setText(personalAdm.getProvincia());
        this.txtCanton.setText(personalAdm.getCanton());
        this.txtDistrito.setText(personalAdm.getDistrito());
        this.txtOtrasSeñas.setText(personalAdm.getOtrasSenias());
        this.txtPuesto.setText(personalAdm.getPuesto());
        this.chbxPropiedad.setSelected(personalAdm.isPropiedad());
        this.spinHoras.getModel().setValue(personalAdm.getHorasAsignadas());
        this.habilitarBotonesIME(permisoPersonalAdm.isInsertar(), permisoPersonalAdm.isModificar(), permisoPersonalAdm.isEliminar());
        //this.habilitarBotonesIME(true,true, true);
    }

    private void volverConsultar(){
        this.estado.setEstadoActual(Estado.CONSULTAR);
        //this.habilitarBotonesIME(true, true, true);
        this.habilitarBotonesIME(permisoPersonalAdm.isInsertar(), permisoPersonalAdm.isModificar(), permisoPersonalAdm.isEliminar());
        this.setHabilitarCampos(false);
        this.habilitarAceptarCancelar(false);
        this.cargarGridPersonalAdms();
    }//fin de volverConsultar

    private void cargarGridPersonalAdms(){
        this.limpiarGridPersonalAdms();
        if(this.permisoPersonalAdm.isConsultar()){
            LinkedList<PersonalAdm> personalAdms = controladoraPersonalAdm.consultarPersonalAdms();
            Iterator<PersonalAdm> iterador = personalAdms.iterator();
            while(iterador.hasNext()){
                PersonalAdm personal = iterador.next();
                Object arregloDatos[] = new Object[5];
                arregloDatos[0] = personal.getCedula();
                arregloDatos[1] = personal.getNombre();
                arregloDatos[2] = personal.getApellidos();
                arregloDatos[3] = personal.getTelefono1();
                arregloDatos[4] = personal.getPuesto();
                ((DefaultTableModel)this.gridPersonalAdm.getModel()).addRow(arregloDatos);
            }
        }
    }//fin de cargarGridPersonalAdms

    private void limpiarGridPersonalAdms(){
        ((DefaultTableModel)this.gridPersonalAdm.getModel()).setRowCount(0);
    }//fin de limpiarGridPersonalAdms

    public void valueChanged(ListSelectionEvent evento){
        int filas = ((DefaultTableModel)this.gridPersonalAdm.getModel()).getRowCount();
        if(filas > 0 && estado.getEstadoActual() == Estado.CONSULTAR){
            int fila = this.gridPersonalAdm.getSelectedRow();
            if(fila >= 0){
                String cedula = this.gridPersonalAdm.getModel().getValueAt(fila, 0).toString();
                this.consultarPersonalAdm(cedula);
            }
        }//fin de if
    }//fin de método valueChanged

    private boolean validarDatos(){
        boolean resultado = true;
        resultado &= !txtCedula.getText().replaceAll("-", "").replaceAll("0", "").isEmpty();
        int dia = Integer.parseInt(this.spinDia.getValue().toString());
        int mes = Integer.parseInt(this.spinMes.getValue().toString())-1;
        int año = Integer.parseInt(this.spinAño.getValue().toString());
        Calendar calendario = Calendar.getInstance();
        calendario.clear();
        calendario.set(año,mes,dia);
        resultado &= (calendario.get(Calendar.DAY_OF_MONTH) == dia) && (calendario.get(Calendar.MONTH) == mes) && (calendario.get(Calendar.YEAR) == año);
        if(!resultado){
            JOptionPane.showMessageDialog(null, "1.El número de cédula debe ser válido.\n2.Debe digitar una fecha válida", "ERROR",JOptionPane.WARNING_MESSAGE);
        }
        return resultado;
    }//fin de validarDatos

    private boolean verificarDatosObligatorios(){
        boolean resultado = true;
        resultado &= !txtNombre.getText().trim().isEmpty();
        resultado &= !txtApellidos.getText().trim().isEmpty();
        resultado &= !txtCedula.getText().replaceAll("-", "").trim().isEmpty();
        resultado &= !txtTelefono1.getText().trim().isEmpty();
        resultado &= !txtPuesto.getText().trim().isEmpty();
        if(!resultado){
            JOptionPane.showMessageDialog(null, "Los campos nombre, apellidos, número de cédula,\n"+
                    "teléfono #1 y puesto son obligatorios", "ERROR",JOptionPane.WARNING_MESSAGE);
        }
        return resultado;
    }//fin de verificarDatosObligatorios

    @Action
    public void insertandoPersonalAdm() {
        this.estado.setEstadoActual(Estado.INSERTAR);
        this.limpiarCampos();
        this.setHabilitarCampos(true);
        this.habilitarBotonesIME(false, false, false);
        this.habilitarAceptarCancelar(true);
    }//fin de insertandoPersonalAdm

    @Action
    public void modificandoPersonalAdm() {
        this.estado.setEstadoActual(Estado.MODIFICAR);
        this.setHabilitarCampos(true);
        this.habilitarBotonesIME(false, false, false);
        this.habilitarAceptarCancelar(true);
        this.txtCedula.setEditable(false);
    }//fin de insertandoPersonalAdm

    @Action
    public void eliminandoPersonalAdm() {
        Animador.animar();
        if(this.mostrarMensajeConfirmacion(UtilidadesCapaNegocios.opEliminar, "ELIMINAR")){
            this.eliminarPersonalAdm();
        }
        Animador.detenerAnimacion();
    }//fin de insertandoPersonalAdm

    /**
     ** Muestra un mensaje de confirmación para que el usuario decida si realmente
     ** quiere llevar a cabo una operación
     ** @param operacion Código de operación realizada, tomada de UtilidadesCapaNegocios
     ** @param titulo Título a mostrar en el cuadro de confirmación
     ** @return Confirmación: true si el usuario acepta, false en otro caso.
     **/
    private boolean mostrarMensajeConfirmacion(int operacion,String titulo){
        boolean resultado = true;
        String mensaje = UtilidadesCapaNegocios.getMensajeConfirmacion(UtilidadesCapaNegocios.moduloPersonalAdm, operacion);
        int respuesta = JOptionPane.showConfirmDialog(null, mensaje,titulo ,JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
        resultado = respuesta == JOptionPane.OK_OPTION;
        return resultado;
    }//fin de mostrarMensajeConfirmacion

    @Action
    public void accionAceptar() {
        Animador.animar();
        switch(estado.getEstadoActual()){
            case Estado.INSERTAR:
                if(mostrarMensajeConfirmacion(UtilidadesCapaNegocios.opInsertar, "INSERTAR") ){
                    if(verificarDatosObligatorios() && validarDatos()){
                        this.insertarPersonalAdm();
                    }
                }
            break;
            case Estado.MODIFICAR:
                if(mostrarMensajeConfirmacion(UtilidadesCapaNegocios.opModificar, "MODIFICAR") ){
                    if(verificarDatosObligatorios() && validarDatos()){
                        this.modificarPersonalAdm();
                    }
                }
            break;
        }
        Animador.detenerAnimacion();
    }//fin de accionAceptar

    @Action
    public void accionCancelar() {
        this.limpiarCampos();
        this.volverConsultar();
    }//fin de accionCancelar

    @Action
    public void buscarPersonalAdm() {
        String cedulaBusqueda = txtCedulaBusqueda.getText();
        PersonalAdm personalAdm = controladoraPersonalAdm.consultarPersonalAdm(cedulaBusqueda);
        if(personalAdm != null){
            this.llenarCamposPersonalAdm(personalAdm);
            String mensaje = "Se han cargado con éxito los datos del personal administrativo buscado";
            JOptionPane.showMessageDialog(null, mensaje, "Búsqueda exitosa",JOptionPane.INFORMATION_MESSAGE);
        }else{
            String mensaje = "El personal administrativo no se encuentra en el sistema";
            JOptionPane.showMessageDialog(null, mensaje, "ERROR",JOptionPane.ERROR_MESSAGE);
        }
    }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        lbNombre = new javax.swing.JLabel();
        lbApellidos = new javax.swing.JLabel();
        txtNombre = new javax.swing.JTextField();
        txtApellidos = new javax.swing.JTextField();
        lbCedula = new javax.swing.JLabel();
        lbFechaNacimiento = new javax.swing.JLabel();
        lbSeparador1 = new javax.swing.JLabel();
        lbSeparador2 = new javax.swing.JLabel();
        lbSexo = new javax.swing.JLabel();
        cbSexo = new javax.swing.JComboBox();
        lbTelefono1 = new javax.swing.JLabel();
        lbTelefono2 = new javax.swing.JLabel();
        lbNacionalidad = new javax.swing.JLabel();
        txtNacionalidad = new javax.swing.JTextField();
        lbProvincia = new javax.swing.JLabel();
        txtProvincia = new javax.swing.JTextField();
        lbCanton = new javax.swing.JLabel();
        txtCanton = new javax.swing.JTextField();
        lbDistrito = new javax.swing.JLabel();
        txtDistrito = new javax.swing.JTextField();
        lbOtrasSenas = new javax.swing.JLabel();
        txtOtrasSeñas = new javax.swing.JTextField();
        btnInsertar = new javax.swing.JButton();
        btnModificar = new javax.swing.JButton();
        btnEliminar = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        gridPersonalAdm = new javax.swing.JTable();
        btnAceptar = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        txtCedula = new javax.swing.JFormattedTextField(createFormatter("#-####-####"));
        txtTelefono1 = new javax.swing.JFormattedTextField(createFormatter("##-##-##-##"));
        txtTelefono2 = new javax.swing.JFormattedTextField(createFormatter("##-##-##-##"));
        lbPuesto = new javax.swing.JLabel();
        txtPuesto = new javax.swing.JTextField();
        spinHoras = new javax.swing.JSpinner();
        lbHoras = new javax.swing.JLabel();
        chbxPropiedad = new javax.swing.JCheckBox();
        spinDia = new javax.swing.JSpinner(new SpinnerNumberModel(1,1,31,1));
        spinMes = new javax.swing.JSpinner(new SpinnerNumberModel(1,1,12,1));
        spinAño = new javax.swing.JSpinner(new SpinnerNumberModel(1950,1900,2999,1));
        txtCedulaBusqueda = new javax.swing.JFormattedTextField(createFormatter("#-####-####"));
        btnBusqueda = new javax.swing.JButton();
        obli1 = new javax.swing.JLabel();
        obli2 = new javax.swing.JLabel();
        obli3 = new javax.swing.JLabel();
        obli4 = new javax.swing.JLabel();

        setMaximumSize(null);
        setMinimumSize(new java.awt.Dimension(660, 582));
        setName("Panel Personal Administrativo"); // NOI18N
        setPreferredSize(new java.awt.Dimension(660, 582));

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(adsec.presentacion.LiceoEscazuApp.class).getContext().getResourceMap(PanelPersonalAdministrativo.class);
        lbNombre.setText(resourceMap.getString("lbNombre.text")); // NOI18N
        lbNombre.setName("lbNombre"); // NOI18N

        lbApellidos.setText(resourceMap.getString("lbApellidos.text")); // NOI18N
        lbApellidos.setName("lbApellidos"); // NOI18N

        txtNombre.setText(resourceMap.getString("txtNombre.text")); // NOI18N
        txtNombre.setAutoscrolls(false);
        txtNombre.setName("txtNombre"); // NOI18N

        txtApellidos.setText(resourceMap.getString("txtApellidos.text")); // NOI18N
        txtApellidos.setAutoscrolls(false);
        txtApellidos.setName("txtApellidos"); // NOI18N

        lbCedula.setText(resourceMap.getString("lbCedula.text")); // NOI18N
        lbCedula.setName("lbCedula"); // NOI18N

        lbFechaNacimiento.setText(resourceMap.getString("lbFechaNacimiento.text")); // NOI18N
        lbFechaNacimiento.setName("lbFechaNacimiento"); // NOI18N

        lbSeparador1.setText(resourceMap.getString("lbSeparador1.text")); // NOI18N
        lbSeparador1.setName("lbSeparador1"); // NOI18N

        lbSeparador2.setText(resourceMap.getString("lbSeparador2.text")); // NOI18N
        lbSeparador2.setName("lbSeparador2"); // NOI18N

        lbSexo.setText(resourceMap.getString("lbSexo.text")); // NOI18N
        lbSexo.setName("lbSexo"); // NOI18N

        cbSexo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Femenino", "Masculino" }));
        cbSexo.setName("cbSexo"); // NOI18N

        lbTelefono1.setText(resourceMap.getString("lbTelefono1.text")); // NOI18N
        lbTelefono1.setName("lbTelefono1"); // NOI18N

        lbTelefono2.setText(resourceMap.getString("lbTelefono2.text")); // NOI18N
        lbTelefono2.setName("lbTelefono2"); // NOI18N

        lbNacionalidad.setText(resourceMap.getString("lbNacionalidad.text")); // NOI18N
        lbNacionalidad.setName("lbNacionalidad"); // NOI18N

        txtNacionalidad.setText(resourceMap.getString("txtNacionalidad.text")); // NOI18N
        txtNacionalidad.setAutoscrolls(false);
        txtNacionalidad.setName("txtNacionalidad"); // NOI18N

        lbProvincia.setText(resourceMap.getString("lbProvincia.text")); // NOI18N
        lbProvincia.setName("lbProvincia"); // NOI18N

        txtProvincia.setText(resourceMap.getString("txtProvincia.text")); // NOI18N
        txtProvincia.setAutoscrolls(false);
        txtProvincia.setName("txtProvincia"); // NOI18N

        lbCanton.setText(resourceMap.getString("lbCanton.text")); // NOI18N
        lbCanton.setName("lbCanton"); // NOI18N

        txtCanton.setText(resourceMap.getString("txtCanton.text")); // NOI18N
        txtCanton.setAutoscrolls(false);
        txtCanton.setName("txtCanton"); // NOI18N

        lbDistrito.setText(resourceMap.getString("lbDistrito.text")); // NOI18N
        lbDistrito.setName("lbDistrito"); // NOI18N

        txtDistrito.setText(resourceMap.getString("txtDistrito.text")); // NOI18N
        txtDistrito.setAutoscrolls(false);
        txtDistrito.setName("txtDistrito"); // NOI18N

        lbOtrasSenas.setText(resourceMap.getString("lbOtrasSenas.text")); // NOI18N
        lbOtrasSenas.setName("lbOtrasSenas"); // NOI18N

        txtOtrasSeñas.setText(resourceMap.getString("txtOtrasSeñas.text")); // NOI18N
        txtOtrasSeñas.setName("txtOtrasSeñas"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(adsec.presentacion.LiceoEscazuApp.class).getContext().getActionMap(PanelPersonalAdministrativo.class, this);
        btnInsertar.setAction(actionMap.get("insertandoPersonalAdm")); // NOI18N
        btnInsertar.setText(resourceMap.getString("btnInsertar.text")); // NOI18N
        btnInsertar.setName("btnInsertar"); // NOI18N

        btnModificar.setAction(actionMap.get("modificandoPersonalAdm")); // NOI18N
        btnModificar.setText(resourceMap.getString("btnModificar.text")); // NOI18N
        btnModificar.setName("btnModificar"); // NOI18N

        btnEliminar.setAction(actionMap.get("eliminandoPersonalAdm")); // NOI18N
        btnEliminar.setText(resourceMap.getString("btnEliminar.text")); // NOI18N
        btnEliminar.setName("btnEliminar"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        gridPersonalAdm.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Cédula", "Nombre", "Apellidos", "Teléfono 1", "Puesto"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        gridPersonalAdm.setName("gridPersonalAdm"); // NOI18N
        jScrollPane1.setViewportView(gridPersonalAdm);
        gridPersonalAdm.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        gridPersonalAdm.getSelectionModel().addListSelectionListener(this);

        btnAceptar.setAction(actionMap.get("accionAceptar")); // NOI18N
        btnAceptar.setText(resourceMap.getString("btnAceptar.text")); // NOI18N
        btnAceptar.setName("btnAceptar"); // NOI18N

        btnCancelar.setAction(actionMap.get("accionCancelar")); // NOI18N
        btnCancelar.setText(resourceMap.getString("btnCancelar.text")); // NOI18N
        btnCancelar.setName("btnCancelar"); // NOI18N

        txtCedula.setText(resourceMap.getString("txtCedula.text")); // NOI18N
        txtCedula.setName("txtCedula"); // NOI18N

        txtTelefono1.setText(resourceMap.getString("txtTelefono1.text")); // NOI18N
        txtTelefono1.setName("txtTelefono1"); // NOI18N

        txtTelefono2.setText(resourceMap.getString("txtTelefono2.text")); // NOI18N
        txtTelefono2.setName("txtTelefono2"); // NOI18N

        lbPuesto.setText(resourceMap.getString("lbPuesto.text")); // NOI18N
        lbPuesto.setName("lbPuesto"); // NOI18N

        txtPuesto.setAutoscrolls(false);
        txtPuesto.setName("txtPuesto"); // NOI18N

        spinHoras.setName("spinHoras"); // NOI18N

        lbHoras.setText(resourceMap.getString("lbHoras.text")); // NOI18N
        lbHoras.setName("lbHoras"); // NOI18N

        chbxPropiedad.setText(resourceMap.getString("chbxPropiedad.text")); // NOI18N
        chbxPropiedad.setName("chbxPropiedad"); // NOI18N

        spinDia.setName("spinDia"); // NOI18N

        spinMes.setName("spinMes"); // NOI18N

        spinAño.setName("spinAño"); // NOI18N

        txtCedulaBusqueda.setText(resourceMap.getString("txtCedulaBusqueda.text")); // NOI18N
        txtCedulaBusqueda.setName("txtCedulaBusqueda"); // NOI18N

        btnBusqueda.setAction(actionMap.get("buscarPersonalAdm")); // NOI18N
        btnBusqueda.setIcon(resourceMap.getIcon("btnBusqueda.icon")); // NOI18N
        btnBusqueda.setName("btnBusqueda"); // NOI18N

        obli1.setForeground(resourceMap.getColor("obli1.foreground")); // NOI18N
        obli1.setText(resourceMap.getString("obli1.text")); // NOI18N
        obli1.setName("obli1"); // NOI18N

        obli2.setForeground(resourceMap.getColor("obli2.foreground")); // NOI18N
        obli2.setText(resourceMap.getString("obli2.text")); // NOI18N
        obli2.setName("obli2"); // NOI18N

        obli3.setForeground(resourceMap.getColor("obli3.foreground")); // NOI18N
        obli3.setText(resourceMap.getString("obli3.text")); // NOI18N
        obli3.setName("obli3"); // NOI18N

        obli4.setForeground(resourceMap.getColor("obli4.foreground")); // NOI18N
        obli4.setText(resourceMap.getString("obli4.text")); // NOI18N
        obli4.setName("obli4"); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 713, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(lbHoras)
                            .addComponent(lbPuesto)
                            .addComponent(lbProvincia)
                            .addComponent(lbApellidos)
                            .addComponent(lbNombre)
                            .addComponent(lbCedula)
                            .addComponent(lbFechaNacimiento)
                            .addComponent(lbSexo)
                            .addComponent(lbNacionalidad)
                            .addComponent(lbTelefono1)
                            .addComponent(lbOtrasSenas))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(txtNombre, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(obli1))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(txtApellidos, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(obli2))
                            .addComponent(cbSexo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(txtCedula, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                        .addComponent(spinDia, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(lbSeparador1)
                                        .addGap(10, 10, 10)
                                        .addComponent(spinMes, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(lbSeparador2)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(obli3)
                                    .addComponent(spinAño, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addComponent(txtNacionalidad, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(txtTelefono1, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(lbTelefono2)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtTelefono2, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txtOtrasSeñas, javax.swing.GroupLayout.DEFAULT_SIZE, 468, Short.MAX_VALUE)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(txtProvincia, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(lbCanton)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(txtCanton, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(lbDistrito)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(txtDistrito, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGap(109, 109, 109))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(spinHoras, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(chbxPropiedad))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(txtPuesto, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(obli4)))
                        .addGap(18, 18, 18))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(btnInsertar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnModificar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnEliminar)
                        .addGap(21, 21, 21))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(txtCedulaBusqueda, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnBusqueda, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 399, Short.MAX_VALUE)
                        .addComponent(btnAceptar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnCancelar)
                        .addContainerGap())))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnInsertar)
                    .addComponent(btnModificar)
                    .addComponent(btnEliminar))
                .addGap(24, 24, 24)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtNombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbNombre)
                    .addComponent(obli1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtApellidos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbApellidos)
                    .addComponent(obli2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lbCedula)
                    .addComponent(txtCedula, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(obli3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lbFechaNacimiento)
                    .addComponent(spinDia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(spinMes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbSeparador1)
                    .addComponent(lbSeparador2)
                    .addComponent(spinAño, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cbSexo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbSexo))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtNacionalidad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbNacionalidad))
                .addGap(6, 6, 6)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lbTelefono1)
                    .addComponent(lbTelefono2)
                    .addComponent(txtTelefono1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtTelefono2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(txtProvincia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lbCanton)
                        .addComponent(txtCanton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lbDistrito)
                        .addComponent(txtDistrito, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(lbProvincia))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(txtOtrasSeñas, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtPuesto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lbPuesto)
                            .addComponent(obli4)))
                    .addComponent(lbOtrasSenas))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(spinHoras, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbHoras)
                    .addComponent(chbxPropiedad))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnCancelar)
                            .addComponent(btnAceptar)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(9, 9, 9)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(btnBusqueda, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtCedulaBusqueda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(84, 84, 84))
        );
    }// </editor-fold>//GEN-END:initComponents


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnAceptar;
    private javax.swing.JButton btnBusqueda;
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnEliminar;
    private javax.swing.JButton btnInsertar;
    private javax.swing.JButton btnModificar;
    private javax.swing.JComboBox cbSexo;
    private javax.swing.JCheckBox chbxPropiedad;
    private javax.swing.JTable gridPersonalAdm;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lbApellidos;
    private javax.swing.JLabel lbCanton;
    private javax.swing.JLabel lbCedula;
    private javax.swing.JLabel lbDistrito;
    private javax.swing.JLabel lbFechaNacimiento;
    private javax.swing.JLabel lbHoras;
    private javax.swing.JLabel lbNacionalidad;
    private javax.swing.JLabel lbNombre;
    private javax.swing.JLabel lbOtrasSenas;
    private javax.swing.JLabel lbProvincia;
    private javax.swing.JLabel lbPuesto;
    private javax.swing.JLabel lbSeparador1;
    private javax.swing.JLabel lbSeparador2;
    private javax.swing.JLabel lbSexo;
    private javax.swing.JLabel lbTelefono1;
    private javax.swing.JLabel lbTelefono2;
    private javax.swing.JLabel obli1;
    private javax.swing.JLabel obli2;
    private javax.swing.JLabel obli3;
    private javax.swing.JLabel obli4;
    private javax.swing.JSpinner spinAño;
    private javax.swing.JSpinner spinDia;
    private javax.swing.JSpinner spinHoras;
    private javax.swing.JSpinner spinMes;
    private javax.swing.JTextField txtApellidos;
    private javax.swing.JTextField txtCanton;
    private javax.swing.JFormattedTextField txtCedula;
    private javax.swing.JFormattedTextField txtCedulaBusqueda;
    private javax.swing.JTextField txtDistrito;
    private javax.swing.JTextField txtNacionalidad;
    private javax.swing.JTextField txtNombre;
    private javax.swing.JTextField txtOtrasSeñas;
    private javax.swing.JTextField txtProvincia;
    private javax.swing.JTextField txtPuesto;
    private javax.swing.JFormattedTextField txtTelefono1;
    private javax.swing.JFormattedTextField txtTelefono2;
    // End of variables declaration//GEN-END:variables

}
